#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include "string.h"

using namespace std;
typedef int NodeId;
typedef enum {
	PDTNode_Em,
	PDTCodeGraph_Em,
	PDTExp_Em,
	PDTExpNum_Em,
	PDTExpBool_Em,
	PDTVar_Em,
	PDTConst_Em,
	PDTExpNumBin_Em,
	PDTExpNumUn_Em,
	PDTExpNumSing_Em,
	PDTNumVar_Em,
	PDTNumConst_Em,
	PDTNumConstInt_Em,
	PDTNumConstDbl_Em,
	PDTExpBoolBinBool_Em,
	PDTExpBoolBinNum_Em,
	PDTExpBoolBinBoolDerived_Em,
	PDTExpBoolBinNumDerived_Em,
	PDTExpBoolUn_Em,
	PDTExpBoolSing_Em,
	PDTBoolVar_Em,
	PDTBoolConst_Em,
	PDTLessThan_Em,
	PDTGreaterThan_Em,
	PDTLessThanEqual_Em,
	PDTGreaterThanEqual_Em,
	PDTEqualNum_Em,
	PDTEqualBool_Em,
	PDTNotEqualNum_Em,
	PDTNotEqualBool_Em,
	PDTAdd_Em,
	PDTSubt_Em,
	PDTMult_Em,
	PDTDiv_Em,
	PDTMod_Em,
	PDTNeg_Em,
	PDTNot_Em,
	PDTStatement_Em,
	PDTIfElse_Em,
	PDTAssign_Em,
	PDTWhile_Em,
	PDTListOfStatements_Em,
	PDTProp_Em,
	PDTAnd_Em,
	PDTOr_Em,
	PDTFunctionDec_Em,


	NodeType_LastOne}
NodeTypeEnum;


